#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define SIZE 64

/**
 * 读管道
 * @return
 */
int main() {
    int fd = -1;
    int ret = -1;
    char buf[SIZE];
    //只读的方式打开一个管道文件
    fd = open("fifo",O_RDONLY);
    if(-1 == fd){
        perror("open");
        return 1;
    }
    printf("只读的方式打开一个管道文件\n");
    //读管道
    while(1){
        memset(buf,0,SIZE);
        ret = read(fd,buf, SIZE);
        if(ret <= 0){
            perror("read");
            break;
        }
        printf("管道数据 ： %s\n",buf);
    }

    //关闭文件
    close(fd);
    return 0;
}
